home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
FishMarket 1.0
/
FishMarket v1.0.iso
/
fishies
/
301-325
/
disk_302
/
progutils
/
dm.doc
< prev
next >
Wrap
Text File
|
1992-05-06
|
11KB
|
210 lines
==============================================================================
Display Memory V1.1
© J.Tyberghein Mon Dec 18 09:11:28 1989
==============================================================================
Preface
-------
This program is intended for every programmer. With this utility you can
display memory, and search something in memory.
For example, if you have written a program and it does not work, you
could alter your program so that it prints the address of the object you
think is faulty. With DM you can examine this memory while your program
is running.
This program (DM V1.1) is shareware.
If you like and/or use this utility I would appreciate it very much
if you'd send me a contribution of $10 US ($15 if you want to get a new
update (when one is available)).
Please send money by international money order, EuroCheck (in Belgian
Francs (BF) !) or cash, because it's very difficult for me to cash in
other checks.
If you want an update please state your current version.
If you want to use this program for commercial purposes please write
for permission !
If you have any suggestions or remarks you can write to (Bug reports are
welcome too)
Jorrit Tyberghein
Hepmansbossen 31
3990 Meerhout BELGIUM
WARNING:
If you want to use this utility you must have Arp 1.3 or later.
DM is reexecutable so you can use it with ARes, Resident, ...
DM is not reentrable, so you will get a warning from ARes or Resident
if you try to use this program twice at the same time.
This utility uses environment variables (DMMemoryStart, DMMemoryLines,
DMMemoryMode and DMMemorySearch). These variables correspond more or
less with the Start, Lines, BYTE,WORD,LONG,ASCII,SEARCH options from
the commandline. DM uses them to continue a search or a list.
Syntax
------
+-----------------------------------------------------------------------+
| Commandline template: |
| Start,Lines,B=BYTE/s,W=WORD/s,L=LONG/s,A=ASCII/s,S=SEARCH/k: |
|-----------------------------------------------------------------------|
| Usage: |
| DM [<Start> [<Lines>]] [BYTE | WORD | LONG | ASCII | SEARCH object] |
+-----------------------------------------------------------------------+
<Start> : addres to start displaying or searching
eg
0xc05006 (hex address)
#123a (hex address)
5000 (dec address)
<Lines> : if you want to display memory this is the number of
lines you want to display
if you are searching this is the maximum number of bytes
you want to search
BYTE : show every long byte per byte (16 bytes per line)
WORD : word per word ( " " " )
LONG : long per long ( " " " )
ASCII : show only ascii on one line (64 bytes per line)
SEARCH object : search object
eg
s 'String'
s 1253cd02a135 (hexadimal values)
examples:
DM 0 b
display 16 lines of memory, the output will look like this:
00000000 : 00 00 00 00 00 C0 02 76 00 FC 07 DC 00 FC 07 DE - .....À.v.ü.Ü.ü.Þ
00000010 : 00 FC 07 E0 00 FC 07 E2 00 FC 07 E4 00 FC 07 E6 - .ü.à.ü.â.ü.ä.ü.æ
00000020 : 00 FC 08 D2 00 FC 07 EA 00 FC 07 EC 00 FC 07 EE - .ü.Ò.ü.ê.ü.ì.ü.î
00000030 : 00 FC 07 F0 00 FC 07 F2 00 FC 07 F4 00 FC 07 F6 - .ü.ð.ü.ò.ü.ô.ü.ö
00000040 : 00 FC 07 F8 00 FC 07 F8 00 FC 07 F8 00 FC 07 F8 - .ü.ø.ü.ø.ü.ø.ü.ø
00000050 : 00 FC 07 F8 00 FC 07 F8 00 FC 07 F8 00 FC 07 F8 - .ü.ø.ü.ø.ü.ø.ü.ø
00000060 : 00 FC 07 F8 00 FC 0C 52 00 FC 0C A6 00 FC 0C D8 - .ü.ø.ü.R.ü.¦.ü.Ø
00000070 : 00 FC 0D 30 00 FC 0D BE 00 FC 0E 04 00 FC 0E 4A - .ü.0.ü.¾.ü...ü.J
00000080 : 00 FC 07 FA 00 FC 07 FC 00 FC 07 FE 00 FC 08 00 - .ü.ú.ü.ü.ü.þ.ü..
00000090 : 00 FC 08 02 00 FC 08 04 00 FC 08 06 00 FC 08 08 - .ü...ü...ü...ü..
000000A0 : 00 FC 08 0A 00 FC 08 0C 00 FC 08 0E 00 FC 08 10 - .ü...ü...ü...ü..
000000B0 : 00 FC 08 12 00 FC 08 14 00 FC 08 16 00 FC 08 18 - .ü...ü...ü...ü..
000000C0 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 - ................
000000D0 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 - ................
000000E0 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 - ................
000000F0 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 - ................
DM 0 w
displays 16 lines of memory:
00000000 : 0000 0000 00C0 0276 00FC 07DC 00FC 07DE - .....À.v.ü.Ü.ü.Þ
00000010 : 00FC 07E0 00FC 07E2 00FC 07E4 00FC 07E6 - .ü.à.ü.â.ü.ä.ü.æ
00000020 : 00FC 08D2 00FC 07EA 00FC 07EC 00FC 07EE - .ü.Ò.ü.ê.ü.ì.ü.î
00000030 : 00FC 07F0 00FC 07F2 00FC 07F4 00FC 07F6 - .ü.ð.ü.ò.ü.ô.ü.ö
00000040 : 00FC 07F8 00FC 07F8 00FC 07F8 00FC 07F8 - .ü.ø.ü.ø.ü.ø.ü.ø
00000050 : 00FC 07F8 00FC 07F8 00FC 07F8 00FC 07F8 - .ü.ø.ü.ø.ü.ø.ü.ø
00000060 : 00FC 07F8 00FC 0C52 00FC 0CA6 00FC 0CD8 - .ü.ø.ü.R.ü.¦.ü.Ø
00000070 : 00FC 0D30 00FC 0DBE 00FC 0E04 00FC 0E4A - .ü.0.ü.¾.ü...ü.J
00000080 : 00FC 07FA 00FC 07FC 00FC 07FE 00FC 0800 - .ü.ú.ü.ü.ü.þ.ü..
00000090 : 00FC 0802 00FC 0804 00FC 0806 00FC 0808 - .ü...ü...ü...ü..
000000A0 : 00FC 080A 00FC 080C 00FC 080E 00FC 0810 - .ü...ü...ü...ü..
000000B0 : 00FC 0812 00FC 0814 00FC 0816 00FC 0818 - .ü...ü...ü...ü..
000000C0 : 0000 0000 0000 0000 0000 0000 0000 0000 - ................
000000D0 : 0000 0000 0000 0000 0000 0000 0000 0000 - ................
000000E0 : 0000 0000 0000 0000 0000 0000 0000 0000 - ................
000000F0 : 0000 0000 0000 0000 0000 0000 0000 0000 - ................
DM 0 l
displays 16 lines of memory:
00000000 : 00000000 00C00276 00FC07DC 00FC07DE - .....À.v.ü.Ü.ü.Þ
00000010 : 00FC07E0 00FC07E2 00FC07E4 00FC07E6 - .ü.à.ü.â.ü.ä.ü.æ
00000020 : 00FC08D2 00FC07EA 00FC07EC 00FC07EE - .ü.Ò.ü.ê.ü.ì.ü.î
00000030 : 00FC07F0 00FC07F2 00FC07F4 00FC07F6 - .ü.ð.ü.ò.ü.ô.ü.ö
00000040 : 00FC07F8 00FC07F8 00FC07F8 00FC07F8 - .ü.ø.ü.ø.ü.ø.ü.ø
00000050 : 00FC07F8 00FC07F8 00FC07F8 00FC07F8 - .ü.ø.ü.ø.ü.ø.ü.ø
00000060 : 00FC07F8 00FC0C52 00FC0CA6 00FC0CD8 - .ü.ø.ü.R.ü.¦.ü.Ø
00000070 : 00FC0D30 00FC0DBE 00FC0E04 00FC0E4A - .ü.0.ü.¾.ü...ü.J
00000080 : 00FC07FA 00FC07FC 00FC07FE 00FC0800 - .ü.ú.ü.ü.ü.þ.ü..
00000090 : 00FC0802 00FC0804 00FC0806 00FC0808 - .ü...ü...ü...ü..
000000A0 : 00FC080A 00FC080C 00FC080E 00FC0810 - .ü...ü...ü...ü..
000000B0 : 00FC0812 00FC0814 00FC0816 00FC0818 - .ü...ü...ü...ü..
000000C0 : 00000000 00000000 00000000 00000000 - ................
000000D0 : 00000000 00000000 00000000 00000000 - ................
000000E0 : 00000000 00000000 00000000 00000000 - ................
000000F0 : 00000000 00000000 00000000 00000000 - ................
DM 0 a
displays 16 lines of memory:
00000000 : .....À.v.ü.Ü.ü.Þ.ü.à.ü.â.ü.ä.ü.æ.ü.Ò.ü.ê.ü.ì.ü.î.ü.ð.ü.ò.ü.ô.ü.ö
00000040 : .ü.ø.ü.ø.ü.ø.ü.ø.ü.ø.ü.ø.ü.ø.ü.ø.ü.ø.ü.R.ü.¦.ü.Ø.ü.0.ü.¾.ü...ü.J
00000080 : .ü.ú.ü.ü.ü.þ.ü...ü...ü...ü...ü...ü...ü...ü...ü...ü...ü...ü...ü..
000000C0 : ................................................................
00000100 : ................................................................
00000140 : ................................................................
00000180 : ................................................................
000001C0 : ................................................................
00000200 : .ü2T............................................................
00000240 : ................................................................
00000280 : ........NO......................................................
000002C0 : ................................................................
00000300 : ................................................................
00000340 : ................................................................
00000380 : ................................................................
000003C0 : ................................................................
DM 0xc00000 20 l
displays 20 lines of memory starting at hex c00000
00C00000 : 4EF900FC 2F404EF9 00FC2F44 4EF900FC - Nù.ü/@Nù.ü/DNù.ü
00C00010 : 19EA4EF9 00FC0A3C 4EF900FC 2F304EF9 - .êNù.ü.<Nù.ü/0Nù
00C00020 : 00FC2F24 4EF900FC 2F344EF9 00FC2F0E - .ü/$Nù.ü/4Nù.ü/.
00C00030 : 4EF900FC 2E984EF9 00FC2E68 4EF900FC - Nù.ü..Nù.ü.hNù.ü
00C00040 : 2E044EF9 00FC2DB4 4EF900FC 2D944EF9 - ..Nù.ü-´Nù.ü-.Nù
00C00050 : 00C04F3A 4EF900FC 2D724EF9 00FC2D5C - .ÀO:Nù.ü-rNù.ü-\
00C00060 : 4EF900FC 181A4EF9 00FC1140 4EF900FC - Nù.ü..Nù.ü.@Nù.ü
00C00070 : 20E84EF9 00FC222E 4EF900FC 22024EF9 - èNù.ü".Nù.ü".Nù
00C00080 : 00FC21F8 4EF900FC 1C344EF9 00FC1C30 - .ü!øNù.ü.4Nù.ü.0
00C00090 : 4EF900FC 1C284EF9 00FC076A 4EF900FC - Nù.ü.(Nù.ü.jNù.ü
00C000A0 : 06F24EF9 00FC074E 4EF900FC 06CA4EF9 - .òNù.ü.NNù.ü.ÊNù
00C000B0 : 00FC06DC 4EF900C0 4F584EF9 00C04F44 - .ü.ÜNù.ÀOXNù.ÀOD
00C000C0 : 4EF900C0 4F6C4EF9 00FC0654 4EF900FC - Nù.ÀOlNù.ü.TNù.ü
00C000D0 : 14984EF9 00FC147A 4EF900C0 4F4E4EF9 - ..Nù.ü.zNù.ÀONNù
00C000E0 : 00FC1430 4EF900C0 4F624EF9 00FC140C - .ü.0Nù.ÀObNù.ü..
00C000F0 : 4EF900FC 1C1E4EF9 00FC1BF6 4EF900FC - Nù.ü..Nù.ü.öNù.ü
00C00100 : 1BDC4EF9 00FC1BAE 4EF900FC 1B344EF9 - .ÜNù.ü.®Nù.ü.4Nù
00C00110 : 00FC1B30 4EF900FC 1B184EF9 00FC1FB4 - .ü.0Nù.ü..Nù.ü.´
00C00120 : 4EF900FC 1F8E4EF9 00FC1FFC 4EF900FC - Nù.ü..Nù.ü.üNù.ü
00C00130 : 1FC44EF9 00FC1E48 4EF900FC 1ED04EF9 - .ÄNù.ü.HNù.ü.ÐNù
DM #10000 1000 s 3200fc0512dd23a5bc
will search this string from address hex 10000. DM will search
for 1000 bytes.
DM 0 512000 s 'DEBUG'
will search from address 0 to the string 'DEBUG'. When the string
is not found in 512000 bytes, the search will stop.
DM
DM without arguments repeats the last DM action.
If for example the previous search succeeded at address 100000,
when you execute DM again (without arguments) the program will
continue the search the next 'DEBUG' string.
If the previous DM action was 'DM 0 a' then executing DM without
arguments will list the next 16 lines of memory.
DM l
If 'DM 0 10000 s 00c032a0' (search 0x00c032a0) was the previous command,
and the object was found at 1239 then 'DM l' will list the memory (in
longs) at this place in memory. If you want to search the next
occurance of this long, type 'DM s 00c032a0' and the search will go
on.
==============================================================================
End of DM 1.1 document
==============================================================================